package com.yml.mall.product.dao;

import com.yml.mall.product.pojo.ProductDO;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import java.util.List;

@Component
public interface ProductMapper {
    /**
     * 通过id删除商品
     * @param id
     * @return
     */
    int deleteByPrimaryKey(Integer id);

    /**
     * 插入商品（包括空字段）
     * @param record
     * @return
     */
    int insert(ProductDO record);

    /**
     * 插入商品（跳过空字段）
     * @param record
     * @return
     */
    int insertSelective(ProductDO record);

    /**
     * 通过id查找商品
     * @param id
     * @return
     */
    ProductDO selectByPrimaryKey(Integer id);

    /**
     * 更新商品（跳过空字段）
     * @param record
     * @return
     */
    int updateByPrimaryKeySelective(ProductDO record);

    /**
     *
      * @param record
     * @return
     */
    int updateByPrimaryKey(ProductDO record);


    List<ProductDO> selectAll();

    int countAll();

    List<ProductDO> selectByCategory(Integer category);

    List<ProductDO> selectForEachId( @Param("ids") List<Integer> ids);

}